<%-- 
    Document   : perso
    Created on : 5 oct. 2011, 10:57:45
    Author     : Antonin Mozzati & Yanick Schürter
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Tweetor : aux nouvelles!</title>
        <LINK rel=stylesheet type="text/css" href="style.css">
        <LINK rel=stylesheet type="text/css" href="menu.css">
        <script src="visibilite.js" type="text/javascript"></script>
    </head>

    <body>
	<div id="main">
            <div id="header">

                <!-- Login -->
                <jsp:include page="header/login.jsp"/>
                <jsp:include page="header/logo.jsp"/>
                <jsp:include page="header/menu.jsp"/>

            </div> <!-- header -->

            <c:choose>
                <%-- Si ID de flux en paramètre --%>
		<c:when test="${!empty param.fid}">
		    <c:choose>
			<%-- Si le flux appartient bien à l'utilisateur --%>
			<c:when test="${listeFlux.appartient(param.fid, sessionScope.sessionID)}">
			    <%-- Affichage du flux --%>
			    <c:set var="flux" value="${listeFlux.getById(param.fid)}" />
			    <%-- Titre --%>
			    <h1><c:out value="${flux.getTitreFlux()}" /></h1>
			    <%-- Formulaire d'ajout d'une nouvelle --%>
			    <p><a href="#" onclick="visibilite('formAjoutNouvelle');">Publier une nouvelle</a></p>
			    <!-- Affichage de l'éventuelle erreur -->
			    <c:if test="${!empty requestScope.erreur}">
                                <p id="erreur"><c:out value="${requestScope.erreur}" /></p>
			    </c:if>
			    <form id="formAjoutNouvelle" action="perso.do?fid=<c:out value="${flux.id_flux}"/>" method="post" style="display: none;">
				<table id="subscribe" border="0">
				    <tr>
					<th colspan="2">Ajouter une nouvelle</th>
				    </tr>
				    <tr>
					<td>Titre</td>
					<td><input name="titre" type="text" size="20" maxlength="30" /></td>
				    </tr>
				    <tr>
					<td>Tags (<a title="Séparer chaque tag par un ';'">?</a>)</td>
					<td><input name="tags" type="text" size="20" maxlength="50" /></td>
				    </tr>
				    <tr>
					<td>Texte</td>
					<td><textarea name="texte" cols="45" rows="5"></textarea></td>
				    </tr>
				    <tr>
					<td colspan="2" align="center">
					    <input type="hidden" name="id_flux" value="<c:out value="${flux.getId_flux()}" />" />
					    <input type="submit" name="addNouvelleSubmit" value="Publier">
					</td>
				    </tr>
				</table>
			    </form> <!-- formulaire ajout nouvelle -->


			    <%-- Liste des nouvelles --%>
			    <c:set var="nouvelles" value="${listeNouvelles.getByFlux(param.fid)}" />
			    <c:choose>
				<c:when test="${empty nouvelles}">
				    <%-- Si pas de nouvelles, message d'erreur --%>
				    <em>Pas encore de nouvelles</em>
				</c:when>
				<c:otherwise>
				    <%-- Si nouvelles, on les affiche --%>
				    <c:forEach var="uneNouvelle" items="${nouvelles}">
					<div class="divNouvelle">
					    <h3>
                                                <a href="perso.do?nid=<c:out value="${uneNouvelle.id_nouvelle}"/>"><c:out value="${uneNouvelle.getTitreNouvelle()}" /></a>
                                                <span class="date">(Publié le <c:out value="${uneNouvelle.getDateFR()}" />)</span>
                                            </h3>

					    <%-- Affichage des tags --%>
					    <p id="pTags"><u>Tags:</u>
					    <c:set var="tags" value="${listeTagNouvelle.getByNouvelle(uneNouvelle.id_nouvelle)}" />
					    <c:choose>
						<c:when test="${empty tags}">
						    <em>Aucun</em>
						</c:when>
						<c:otherwise>
						    <em>
							<c:forEach var="tag" items="${tags}">
							    <a href="rechercherNouvelle.do?tag=<c:out value="${tag.getNomTagNouvelle()}" />">#<c:out value="${tag.getNomTagNouvelle()}" /></a>&nbsp;
							</c:forEach>
						    </em>
						</c:otherwise>
					    </c:choose>
					    </p>
					    <p><c:out value="${uneNouvelle.getTexteNouvelle()}" /></p>
					</div>
				    </c:forEach>
				</c:otherwise>
			    </c:choose>
			</c:when>
			<%-- Si le flux n'appartient pas à l'utilisateur ou n'existe pas --%>
			<c:otherwise>
			    <%-- Message d'erreur --%>
			    <p id="erreur">Ce flux ne vous appartient pas ou n'existe pas!
				<br /><a href="perso.do">Retour</a></p>
			    </c:otherwise>
			</c:choose>
		    </c:when>
		    <%-- Si pas d'ID de flux en paramètre --%>
		    <c:otherwise>
			<c:choose>
			    <%-- Si ID de nouvelle en paramètre --%>
			    <c:when test="${!empty param.nid}">
				<c:set var="nouvelle" value="${listeNouvelles.getById(param.nid)}" />
				<c:choose>
				    <%-- Si la nouvelle appartient bien à l'utilisateur --%>
				    <c:when test="${(!empty nouvelle) && listeFlux.appartient(nouvelle.getId_flux(), sessionScope.sessionID)}">
					<%-- Affichage de la nouvelle --%>
				    <div class="divNouvelle">
					<h3><c:out value="${nouvelle.getTitreNouvelle()}" />
                                            <span class="date">(Publié le <c:out value="${nouvelle.getDateFR()}" />)</span>
					    <%-- suppresion nouvelle --%>
					    <a onclick="return(confirm('Êtes-vous sûr de vouloir supprimer cette nouvelle?'));" href="supprimerNouvelle.do?nid=${nouvelle.id_nouvelle}"><img src="images/delete.gif" title="Supprimer cette nouvelle" /></a>
					</h3>
					<%-- Affichage des tags --%>
					<p id="pTags"><u>Tags:</u>
					<c:set var="tags" value="${listeTagNouvelle.getByNouvelle(nouvelle.id_nouvelle)}" />
					<c:choose>
					    <c:when test="${empty tags}">
						<em>Aucun</em>
					    </c:when>
					    <c:otherwise>
						<em>
						    <c:forEach var="tag" items="${tags}">
							<a href="rechercherNouvelle.do?tag=<c:out value="${tag.getNomTagNouvelle()}" />">#<c:out value="${tag.getNomTagNouvelle()}" /></a>&nbsp;
						    </c:forEach>
						</em>
					    </c:otherwise>
					</c:choose>
					</p>
					<p><c:out value="${nouvelle.getTexteNouvelle()}" /></p>
				    </div>
				</c:when>
				<%-- Si la nouvelle n'appartient pas à l'utilisateur ou n'existe pas --%>
				<c:otherwise>
				    <%-- Message d'erreur --%>
				    <p id="erreur">Cette nouvelle ne vous appartient pas ou n'existe pas!
					<br /><a href="perso.do">Retour</a></p>
				    </c:otherwise>
				</c:choose>
			    </c:when>
			    <%-- Si ni ID de flux, ni ID de nouvelle --%>
			    <c:otherwise>
				<%-- Affichage de la liste des flux de l'utilisateur loggé --%>
			    <table id="tableFlux">
				<tr>
				    <th width="90%">Flux</th>
				    <th width="10%">Nouvelles</th>
				</tr>
				<c:forEach var="unFlux" items="${listeFlux.getByUser(sessionID)}" varStatus="i">
				    <c:choose>
					<c:when test="${i.count % 2 == 0}"><tr></c:when>
					<c:otherwise><tr bgcolor="#F5E5C1"></c:otherwise>
					</c:choose>
					<td>
					    <a href="perso.do?fid=<c:out value="${unFlux.id_flux}"/>"><c:out value="${unFlux.titreFlux}"/></a>
                                    <br /><u>Tags:</u>
                                    <c:set var="tags" value="${listeTagFlux.getByFlux(unFlux.id_flux)}" />
                                    <c:choose>
					<c:when test="${empty tags}">
					    <em> Aucun</em>
					</c:when>
					<c:otherwise>
					    <em>
						<c:forEach var="tag" items="${tags}">
						    #<c:out value="${tag.getNomTagFlux()}" />&nbsp;
						</c:forEach>
					    </em>
					</c:otherwise>
                                    </c:choose>


				    </td>
				    <td align="center"><c:out value="${listeNouvelles.getNbByFlux(unFlux.id_flux)}"/></td>
				    </tr>
				</c:forEach>
			    </table>
			</c:otherwise> <%-- empty nid --%>
		    </c:choose>
		</c:otherwise> <%-- empty fid --%>
            </c:choose>

	</div> <!-- main -->

    </body>
</html>
